package com.wannabuy.mobile.cadastro;

import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.wannabuy.mobile.dao.DAOGrupos;
import com.wannabuy.mobile.dao.RepositorioGrupos;
import com.wannabuy.mobile.model.Comprador;
import com.wannabuy.mobile.model.Grupo;
import com.wannabuy.mobile.model.Produto;
import com.wannabuy.mobile.util.MensagemSistema;

public class CadastroGrupo {

	private final RepositorioGrupos rgrupo;

	public CadastroGrupo() {
		rgrupo = new DAOGrupos();
		
		
	}

	public MensagemSistema desassociarGrupo(Comprador comp, Grupo grupo){
		MensagemSistema ret = new MensagemSistema();
	
		boolean banco = rgrupo.desassociarGrupo(comp, grupo);
		
		if (banco){
			ret.setResultado(true);
		}
		
		return ret;
	}
	
	
	
	public MensagemSistema inserirCompradorGrupo(Comprador comp, Grupo grupo, Double precoSugerido) {
		MensagemSistema ret = new MensagemSistema();
		Grupo banco = rgrupo.associarGrupor(grupo, comp, precoSugerido);
		if (banco != null) {
			ret.setResultado(true);
			ret.setObjeto(banco);
		}
		return ret;

	}
	
	
	public MensagemSistema buscarGruposPorUsuario(Comprador comp) {
		MensagemSistema ret = new MensagemSistema();
		List<Grupo> lista = rgrupo.buscarGruposPorUsuario(comp);
		if (lista != null && !lista.isEmpty()) {
			ret.setResultado(true);
			ret.setObjeto(lista);
		}
		return ret;

	}

	public MensagemSistema buscarGruposPorProduto(String produto) {

		MensagemSistema ret = new MensagemSistema();
		List<Grupo> lista = rgrupo.buscarGrupos(produto);
		if (lista != null && !lista.isEmpty()) {
			ret.setResultado(true);
			ret.setObjeto(lista);
		}
		return ret;
	}

	public MensagemSistema criarGrupo(Comprador comprador, String categoria,
			String marca, String produto, String descricaoProduto, String valorPretendido) {
		MensagemSistema ret = new MensagemSistema();
		Grupo grupo = rgrupo.criarGrupo(comprador, categoria, marca, produto,
				descricaoProduto, valorPretendido);
		if (grupo != null) {
			ret.setResultado(true);
			ret.setObjeto(grupo);
		}
		return ret;
	}

	public MensagemSistema buscarGrupo(Produto produto) {

		MensagemSistema ret = new MensagemSistema();
		Grupo grupo = rgrupo.buscarGrupo(produto);
		if (grupo != null){
			
			ret.setResultado(true);
			ret.setObjeto(grupo);
			
		}
		return ret;

	}

	public MensagemSistema buscarGrupo(String produto) {

		MensagemSistema ret = new MensagemSistema();
		Grupo grupo = rgrupo.buscarGrupo(produto);
		if (grupo != null){
			
			ret.setResultado(true);
			ret.setObjeto(grupo);
			
		}
		return ret;

	}

	
}
